#include 	"buzzer_control.h"
#include 	"RTX51TNY.H"

void Buzzer_Init(){
    HAL_BUZZER_Init();
}

void Buzzer_play(unsigned int hz_value){
    HAL_BUZZER_play(hz_value);
}

unsigned int code FREQS[] = {
	523 * 1, 587 * 1, 659 * 1, 698 * 1, 784 * 1, 880 * 1, 988 * 1, 
	523 * 2, 587 * 2, 659 * 2, 698 * 2, 784 * 2, 880 * 2, 988 * 2, 
	523 * 4, 587 * 4, 659 * 4, 698 * 4, 784 * 4, 880 * 4, 988 * 4, 
	523 * 8, 587 * 8, 659 * 8, 698 * 8, 784 * 8, 880 * 8, 988 * 8, 
};

// 根据索引取出对应的音调  
void Buzzer_beep(unsigned int idx){
    HAL_BUZZER_play(FREQS[idx]);
}

void Buzzer_sumsung(){
	Buzzer_beep(11);
	os_wait2(K_TMO, 20);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(10);
	os_wait2(K_TMO, 20);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(5);
	os_wait2(K_TMO, 40);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(6);
	os_wait2(K_TMO, 30);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	//
	Buzzer_beep(9);
	os_wait2(K_TMO, 20);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(8);
	os_wait2(K_TMO, 20);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(3);
	os_wait2(K_TMO, 40);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(4);
	os_wait2(K_TMO, 30);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	//
	Buzzer_beep(8);
	os_wait2(K_TMO, 20);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(7);
	os_wait2(K_TMO, 20);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(2);
	os_wait2(K_TMO, 40);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(11);
	os_wait2(K_TMO, 30);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
	
	Buzzer_beep(7);
	os_wait2(K_TMO, 60);  // 5ms * 20
	Buzzer_stop();
	os_wait2(K_TMO, 10);  // 5ms * 10
}



void Buzzer_stop(){
    HAL_BUZZER_stop();
}